package com.baizhi.shane.shane.service;

import com.baizhi.shane.shane.entity.ShaneLabel;
import com.baizhi.shane.shane.vo.*;
import com.baizhi.shane.sys.vo.IdVO;
import com.baizhi.shane.sys.vo.SuccessedOutVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author wbz12
* @description 针对表【shane_label(啥呢标签表)】的数据库操作Service
* @createDate 2023-07-25 22:33:37
*/
public interface ShaneLabelService extends IService<ShaneLabel> {

    OperOutVO insertOne(LabelInsertInVO labelInsertInVO);

    OperOutVO initLevelOne();

    List<LabelListByContentOutVO> listByContent(LabelListByContentInVO labelListByContentInVO);

    /**
     * 通过问题标签关系表的ID解除指定问题和标签的关联
     *
     * @Author 闻柏智
     * @Date 17:45 2024/1/15
     * @Param idVO
     * @return com.baizhi.shane.sys.vo.SuccessedOutVO
     **/
    SuccessedOutVO deleteOneLabelQuestionRel(IdVO idVO);

    /**
     * 树形查询所有标签
     *
     * @Author 闻柏智
     * @Date 18:43 2024/1/15
     * @Param
     * @return java.util.List<com.baizhi.shane.shane.vo.TreeLabelVO>
     **/
    List<TreeLabelVO> treeListAllLabel();

    /**
     * 通过问题ID和标签ID关联问题和标签
     *
     * @Author 闻柏智
     * @Date 19:06 2024/1/15
     * @Param labelIdAndEntityIdVO
     * @return com.baizhi.shane.sys.vo.SuccessedOutVO
     **/
    SuccessedOutVO insertOneQuestionLabelRel(LabelIdAndEntityIdVO labelIdAndEntityIdVO);
}
